package br.com.keropizza.controller;

import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import br.com.keropizza.dao.ClienteDao;
import br.com.keropizza.dao.PedidoDao;
import br.com.keropizza.dominio.Cliente;
import br.com.keropizza.dominio.Endereco;
import br.com.keropizza.dominio.Pedido;

/**
 * @author fabio
 *
 */
@Transactional
@Controller
public class PedidoController {
	
	@Autowired
	private PedidoDao pedidoDao;
	
	@Autowired
	private ClienteDao clienteDao;
	
	@RequestMapping("novoPedido")
	public String novoPedido(Model model, HttpServletRequest request){
		String enderecoId = request.getParameter("enderecoId");
		String clienteId = request.getParameter("clienteId");
		Cliente cliente = clienteDao.buscaPorId(Long.parseLong(clienteId));
		List<Endereco> enderecos = cliente.getEnderecos();
		for (Endereco endereco : enderecos) {
			if(endereco.getId().equals(Long.parseLong(enderecoId))){
				model.addAttribute("endereco", endereco);
			}
		}
		model.addAttribute("cliente", cliente);
		return "pedido/adiciona-pedido";
	}
						
	@RequestMapping("adicionaPedido")
	public String adicionaPedido(Pedido pedido, Long clienteId, Long enderecoId){
		Cliente cliente = clienteDao.buscaPorId(clienteId);
		Endereco enderecoPedido = null;
		for (Endereco enderecoCliente : cliente.getEnderecos()) {
			if(enderecoCliente.getId().equals(enderecoId)){
				enderecoPedido = enderecoCliente;
			}
		}
		pedido.setCliente(cliente);
		pedido.setEndereco(enderecoPedido);
		return "inicio";
		
	}
}
